// pages/roadmap/walk.js
import { mapTabbar, myMap} from '../../libs/amap-config'

Page({

  /**
   * 页面的初始数据
   */

  data: {
    tabData:{
      activeType: 'bike',
      mapTabbar,
    },
    pathsData:{}
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    let that = this
    //在map.js中,通过点击搜索到的地址,进行跳转到定义的"/pages/roadmap/walk?location=' + e.currentTarget.dataset.poslocation"地址,
    // 其携带location参数(输入地址的经纬),将在该页面的onLoad函数中的options参数中被访问到
    // 而该地址将会被作为终点值来使用
    that.setData({
      location: options.location
    })
    // console.log(mapTabbar)

    // 获取到当前的位置的经纬度,并生成当前位置的地图
    that.setData({
      longitude:wx.getStorageSync('longitude'),
      latitude: wx.getStorageSync('latitude'),
    })
    // 设置marks,确定起始位置和终点位置
    if (options.location != '') {
      this.setData({
        markers:[
          {
            longitude: that.data.longitude,
            latitude: that.data.latitude,
            iconPath: '/static/images/nav_s.png'
          },{
            longitude: parseFloat(options.location.split(',')[0]),
            latitude: parseFloat(options.location.split(',')[1]),
            iconPath: '/static/images/nav_e.png'
          }
        ]
      })
    }
    
    // 将初始地的经纬修改为合适的参数
    let origin = that.data.longitude + ',' + that.data.latitude
    // console.log(origin)
    // 将目的地参数格式修改为 102.35944, 102.35944
    let  destination = that.data.location
    // console.log(destination);

    // 请求 步行路径规划 接口
    myMap.getRidingRoute({
      origin,
      destination,
      success: (data) => {
        console.log(data);
        // 获取到起始点到目的地点的polyline,来绘制路线
        if(data && data.paths && data.paths[0].steps) {
          let route = data.paths[0].steps
          let points = []
          for (let i = 0; i < route.length; i++){
            let routePol = route[i].polyline.split(';')
            for(let j = 0; j < routePol.length; j++){
              points.push ({
                longitude: parseFloat(routePol[j].split(',')[0]),
                latitude: parseFloat(routePol[j].split(',')[1])
              }) 
            }
          }
          this.setData({
            polyline: [{
              points: points,
              color: '#0091ff',
              width: '10rpx'
            }]
          })
        }
      


        // 获取到起始点到目的地的距离和时间
        if (data.paths && data.paths[0].steps){
          let distance = data.paths[0].distance / 1000
          let duration = data.paths[0].duration / 60 
          that.setData({
            pathsData:{
              distance:  distance.toFixed(2)+ '公里',
              duration: + duration.toFixed(2) + '分钟',
              steps: data.paths[0].steps
            }
          })
        }
      }
    })

    
  },
  changType (e) {
    console.log(this.data.options)
    wx.navigateTo({
      url: '/pages/roadmap/' + e.currentTarget.dataset.type + '?location=' + this.data.location,
    })
  },
  
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
	 
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})